home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 March - Disc 1 / Macworld (1999-03) (Disk 1).dmg / Shareware World / Graphics / 3D-Filmstrip / 3D-Filmstrip.readme < prev    next >
Text File  |  1999-01-16  |  51KB  |  831 lines

  1.  
  2.             Read Me File For 3D-Filmstrip 
  3.             Version 7.1.3  December 10, 1998
  4.             
  5.  
  6. A.)   WHAT IS IT?
  7.   3D-Filmstrip is a tool that aids in the visualization of
  8. mathematical objects and processes. It runs under version 7 or
  9. later of the MacOS and requires a PowerPC cpu.
  10.   3D-Filmstrip has algorithms for displaying mathematical objects from 
  11. many different "categories" (plane and space curves, surfaces, conformal
  12. maps, polyhedra, ODE, waves) and for displaying various mathematical
  13. processes associated with these categories. But 3D-Filmstrip provides
  14. content as well as viewing tools: each category has a "Gallery" of many 
  15. pre-programmed objects, as well as dialogs for entering User Defined 
  16. obects from the category. The Gallery items are selected from a menu, 
  17. while the user defined objects are entered by editing algebraic 
  18. expressions defining an object of the category.
  19.    Filmstrip was designed and programmed (in Object Pascal) by: 
  20.    
  21.        Richard S. Palais
  22.        Department of Mathematics
  23.        Brandeis University
  24.        Waltham, MA 02254
  25.        palais@math.brandeis.edu
  26.        Home Page: http://rsp.math.brandeis.edu/
  27.   The program is copyrighted, but there is a free license
  28. to use it for non-commercial purposes in education and research.
  29. B.) WWW and FTP Availability.
  30.   3D-Filmstrip has a Home Page on the Web, at the URL:
  31.    http://rsp.math.brandeis.edu/3D-Filmstrip_html/3D-FilmstripHomePage.html 
  32.   
  33. and the latest release and beta versions are available by anonymous ftp 
  34. at the URL:
  35.  ftp://rsp.math.brandeis.edu/
  36. (which has a link on the 3D-Filmstrip Home page).
  37.   The ftp distribution is in Binhex format and includes the complete 
  38. documentation in TeX and html formats. It also includes many "settings" 
  39. files that illustrate objects and animations of special interest.
  40. There are currently four mirror ftp sites for the distribution of 
  41. 3D-Filmstrip, in Europe, Australia, Taiwan, and Hong Kong. 
  42. The URL's and site administrators are:
  43. ftp://hensel.mathp6.jussieu.fr/dist/3D-Filmstrip/  
  44.    Dominique Bernardi --- bernardi@math.jussieu.fr
  45. ftp://maths.adelaide.edu.au/pure/mmurray/3DFilmstrip
  46.    Michael Murray ---  mmurray@spam.maths.adelaide.edu.au
  47. ftp://math.ntu.edu.tw/pub/mac/mirror.rsp  
  48.    Ai Nung Wang --- wang@math.ntu.edu.tw
  49.    
  50.    
  51. ftp://ftp.math.cuhk.edu.hk/pub/mac/ 
  52.    Law Wai Kuen (Keith) --- keith@math.cuhk.edu.hk
  53. ------------
  54. C) Documentation.
  55.  The documentation for 3D-Filmstrip consists of:
  56.     1) This file
  57.     2) 3D-Filmstrip_Doc.tex  (Documentation in TeX format)
  58.     3) Hypertext documentation in html format, consisting of:
  59.         a) 3D-FilmstripHomePage.html
  60.         b) 3D-Filmstrip_Doc.html (a Table of Contents page)
  61.         c) IndexPage.html (an Index Page)
  62.         d) Many pages of html documentation with associated.GIF files.
  63.         
  64.   All of the above documentation is included with the standard ftp 
  65. distribution and in addition there is a link to an online version of 
  66. the html documentation starting from the 3D-Filmstrip Home Page.
  67.   Much of the information in the above documentation can also be accessed 
  68. as Help panels while 3D-Filmstrip is running. These can be selected from 
  69. the Help menu.
  70.    
  71.   ====================================================================
  72.   
  73.    The remainder of this file is a version history, describing what 
  74. is new in the current version and what was new in earlier versions.
  75.                        Version History
  76.                        
  77. What's new in Version 7.1.2 beta of 3D-Filmstrip. November 10, 1998
  78.    Added two-sided coloring of surfaces, and several new objects.
  79. What's new in Version 7.1 beta of 3D-Filmstrip.        September 17, 1998   
  80.                     
  81.    Bug Fixes, and some new minimal surfaces. Costa-Hoffman-Meeks was added,
  82. and Chen-Gackstatter was modified to permit higher dihedral symmetries using
  83. a technique due to Hermann Karcher.                
  84.    
  85.                        
  86.                        
  87. What's new in Version 7.0 alpha of 3D-Filmstrip.       August 1, 1998
  88.   Unlike the preceding few versions (in which the user interface changed
  89. very little and I added a lot of new content) in this new version, 7.0 
  90. Alpha, there is no new content but a fairly drastic change in the UI. 
  91. The two basic changes are a major reorganization of the menu structures, 
  92. and a fledgling "toolbar".
  93.   The major trigger was a recent serious critique of the program by Angel
  94. Montesinos. He exercised its features pretty thoroughly, and found a number 
  95. of bugs, but more importantly made a case that the program interface 
  96. was getting too complex. After thinking hard about his specific comments, 
  97. I developed a plan for meeting his objections, and the attached version is 
  98. the result.
  99.   Let's take up the toolbar first. Start up the program, create your
  100. favorite surface, and then choose "Show Toolbar" from the View menu
  101. (if you later want to hide it, choose "Hide Toolbar"). You will see
  102. four buttons on the toolbar, and there use should be obvious. The
  103. plan is to gradually put more and more controls in this toolbar (e.g.,
  104. buttons to change the background from black to white and back, to switch
  105. between color and stereo, etc.) but I didn't want to go very far in that
  106. direction without getting you opinions concerning whether it looks like
  107. a useful direction. The basic reasons for the toolbar controls are to 
  108. make their functions easier to access of course, but perhaps even more
  109. importantly to "put them out in the open" rather than hiding them in a
  110. menu. (However, anything in the toolbar will also be accessible from the
  111. menus too.)
  112.   By now you will have noticed two things. First, the Main menu has
  113. become entirely a menu of Nouns (i.e., the names of all the various
  114. surfaces---and in other categories, the names of objects of those
  115. categories.) All the Verbs (Create, Show Parallel Surfaces, About This 
  116. Object..., About This Category...) have been moved into the new Action 
  117. menu, next to the Main menu. In addition, the Action menu also contains
  118. various Category dependent Verbs that used to be in the View menu (e.g.,
  119. Show All Gridlines, Show Associated Surface). This Action menu is made 
  120. up on the fly each time it is pulled down, and only contains those items 
  121. that are appropriate at that moment. 
  122.   This more rigid separation of menus by the logical function of their 
  123. items is the key to making the program UI less chaotic and easier to 
  124. understand on the one hand, but also in making the program easier to 
  125. maintain and less fragile---or so I hope. Personally, I prefer this new
  126. menu structure (but that is a pretty biased view since I put a lot of 
  127. effort into programming it). I am very interested in hearing reactions
  128. from other users.
  129. What's new in Version 6.6 of 3D-Filmstrip.             May 20, 1998
  130.   Despite the gap in numbering (and time!), version 6.6 is the
  131. next public release of 3D-Filmstrip after version 6.2. There were
  132. a number of intervening special purpose versions, but these were
  133. not released for general distribution. 
  134.   In the meantime, the program has undergone numerous changes and 
  135. additions. Unfortunately, the documentation has not kept pace. Like
  136. most developers, I find adding new features a lot more interesting 
  137. than documenting them. I am releasing this version now, before
  138. writing all the documentation I should, because the deadline is 
  139. fast approaching for the Math CDROM that will be distributed this
  140. summer at the ICM 98 in Berlin. I will try to make up for the lack
  141. of more formal documentation of the changes since version 6.2 with 
  142. a quick resume here.
  143. 1) A great deal of time and effort has gone into testing, to find
  144. and eradicate hidden bugs. The program now seems more stable than
  145. ever before. I don't know any way to crash it, and I have run this
  146. version for many hours without any glitches. However I am very 
  147. aware that a program as complex as 3D-Filmstrip is bound to have
  148. many residual bugs that I have not aroused, but that other users,
  149. using the program differently than I do, will come across. PLEASE 
  150. if you find a problem send me email to palais@math.brandeis.edu
  151. telling me if you can the sequence of actions that give rise to
  152. the problem.
  153. 2) I have reluctantly given up trying to support pre PowerPC
  154. Macintoshes. I know there are many excellent 680X0 machines out
  155. there, but I have access to very few of the many older models, 
  156. and I do not like to distribute a version without careful testing.
  157. The current 3D-Filmstrip would have been called 3D-Filmstrip(PPC)
  158. in the old nomenclature, and 3D-Filmstrip(FPU), the old Fat 
  159. 3D-Filmstrip, and 3D-Filmstrip(SANE) are no more.
  160. 3) There are very many new pre-programmed examples in the various
  161. categories. In particular, check out the many new surfaces, and
  162. in particular the new minimal surfaces.
  163. 4) Holding down the space-bar will now pause the program in all 
  164. cases where previously a command-period or a mouse-click would
  165. have aborted.
  166. 5) In the Space Curve Category check out the menu items Show Tangent
  167. Developable, Show Repere Mobile, and Show Projection on XXX Plane.
  168. (These are best seen in stereo!)
  169. 6) Courtesy of Bob Palais, the program now has code to do Fast Fourier 
  170. Transforms. This has made it possible to add many neat new features
  171. to the program. For example, in the Lattice Model Category, in Graphical
  172. Display, you will see the kinetic and potential energy in each normal
  173. mode in real time as the time evolution proceeds. And in the Wave Category
  174. there is now the capability to solve the initial value problem for KdV
  175. and Nonlinear Schroedinger (using a pseudospectral method due to Wineberg, 
  176. McGrath, Gabl, and Scott). Holding down 0ption-Command (or choosing
  177. Show Fourier Amplitudes from the menu) will show the frequency spectrum
  178. of the solutions. Note that these latter two additions make it possible 
  179. and easy for anyone to repeat the historic numerical experiments of 
  180. Fermi=Pasta-Ulam and of Zabusky-Kruskal (see my article, "The Symmetries
  181. of Solitons" in the October 1997 Bulletin of the AMS).
  182. 7)  No program is an island. 3D-Filmstrip now has the capability to
  183. export its surfaces to MATLAB and to the ray tracing program POVRay.
  184. Also, surfaces created using MATLAB can be exported to 3D-Filmstrip.
  185. This is done using an interchange format called Surface Data files.
  186. These are created using the item Save Surface Data... in the File 
  187. menu (or an M-File in MATLAB), and they are read into 3D-Filmstrip
  188. using Read Surface Data... (and into MATLAB with another M-File).
  189. Christophe Favergeon Borgialli has written a converter program that
  190. takes a Surface Data file into a POVRay file. For full details, see 
  191. the ReadMe files in the three subfolders of the 3dfs Export/Import
  192. folder that comes with the standard 3D-Filmstrip distribution.
  193. 8) Lots of nice new stuff in the Polyhedron Category.
  194. 9) It is now possible to specify user surfaces parametrically using 
  195. polar spherical or cylindrical coordinates. Also there is a user 
  196. surface of revolution. Similarly, it is possible to define a user 
  197. plane curve parametrically in polar coordinates, and a space curve 
  198. in polar spherical or cylindrical coordinates.
  199.  
  200.                         ===========
  201.                        
  202.                        
  203. What's new in Version 6.2 of 3D-Filmstrip.      November 15, 1996  
  204.        (Version 6.2.2 of December 5, 1996 is a minor 
  205.        maintenace upgrade of Version 6.2. 
  206.        It fixes a bug in several of the
  207.        "User Defined..." dialogs that prevented them
  208.        from working properly after the first time.
  209.        It also fixes a serious bug introduced into the 
  210.        fpu version when I switched to a new compiler.)
  211.   With this version of 3D-Filmstrip, the user interface has gotten a
  212. major facelift.  I would like to thank Mike Epstein and Xah Lee for
  213. pushing me to make these changes, and working very hard with me in
  214. the design and testing of the many new features.
  215.    There are also important mathematical additions to the program---but 
  216. most were made by my collaborators, Christopher Anand and Angel Montesinos.
  217. Christopher considerably beefed up the Anand-Ward soliton segment of the 
  218. program, and added User Defined... solitons as well as documentation.
  219. I am very pleased with this example of one extreme in the spectrum of 
  220. applications I had hoped that 3D-Filmstrip would be useful for, namely 
  221. as a tool in advanced mathematical research. Angel extended his marvelous 
  222. algorithm for implicitly defined plane curves to also work for implicit 
  223. space curves, and I needed to make only minor adaptions for his code to 
  224. work within 3D-Filmstrip. I added routines for displaying geometric objects
  225. in the 3-Sphere. They are simply stereographically projected, and then
  226. treated like any other object in R^3. In particular you will now find
  227. the Hopf fibration in the Space Curve menu, and the Clifford torus in
  228. the Surface menu.
  229.   Here is a list of changes to the user interface:
  230. 1)  There is a new application icon (Mike Epstein helped with the design).
  231.      You may have to remake your desktop file to see it. (Have a look with 
  232.      your stereo glasses on).
  233.    
  234. 2)   Settings files and Grand Tour files now have their own distinctive icons,
  235.      and double-clicking will open them (after launching 3D-Filmstrip if it 
  236.      isn't already running).
  237.    
  238. 3)   Command-O = Open Settings File
  239.      Command-S = Save Settings 
  240.      Command-W closes Help Window and dialog windows
  241.      Command-U opens User Defined... dialogs
  242.     
  243. 4)   Cancel buttons have been added to dialogs.
  244. 5)   Surface rendering now defaults to color.
  245. 6)   Many changes to the View menu, to make it more intuitive for new users.
  246. 7)   You can now omit the * for multiplication when writing expressions in
  247.      User Defined... dialogs (but remember to put in spaces to avoid ambiguity).
  248.    
  249. 8)   You can now also use "split definitions" in expressions, giving them different
  250.      values on different parts of the domains of their variables. The syntax is:
  251.    
  252.      case <condition> : <expression> ;  <condition> : <expression> ;  . . . end 
  253.      
  254.      For example:    
  255.      case  x>0: ln(x);  x<=0: 1 end
  256.      (The final ; is optional.) 
  257.     
  258. 9)   You can now signal a fast abort either with Command-period as before,
  259.      or by pressing the Escape key.
  260.     
  261. 10)  The "Virtual Sphere" button that used to inhabit the lower left 
  262.      hand corner of the screen is gone.
  263.     That is because the program is now always in Virtual Sphere mode.
  264.     For example, after drawing a Surface you can immediately click on 
  265.     it and start rotating it. The rotation happens in wireframe by default, 
  266.     but if you put down Caps-lock it happens in patch mode (at reduced
  267.     resolution). Moreover if, while you are rotating, you hold down the 
  268.     Control key, the cursor changes to four arrows and you can now translate
  269.     the object in a plane parallel to the screen. If instead you hold down 
  270.     Shift, then the cursor changes to an up-down arrow and you can "zoom" the
  271.     object toward or away from you. In essence, you can move along an arbitrary  
  272.     path in the Euclidean group, and have the object "follow along". 
  273.     The same thing works in the Plane curve and Conformal map categories,
  274.     except the default movement is translation instead of rotation. Morever,
  275.     in these two categories, if you hold down Command and then drag out a
  276.     rectangle in the usual Mac way, then when you release the mouse (with
  277.     Command still down) your selection rectangle will zoom to the entire 
  278.     window.
  279.     
  280. 11) There used to be a special version of Virtual Sphere mode in which 
  281.     an object spins about an axis that you could change interactively by 
  282.     rotating it with the mouse. The old way of entering that mode was by
  283.     putting Caps-lock down before clicking on the Virtual Sphere button,
  284.     and you stayed in that mode until the Caps-lock key was released.
  285.     This has now been renamed to Spin mode. You enter it by selecting
  286.     Spin at the bottom of the Animate menu, and exit it by fast abort
  287.     (i.e., either Command-period or Escape).  For surfaces, the spin will 
  288.     be in wireframe if Caps-lock is up and in Patch mode if it is down.
  289.     
  290. 12) If you are connected to the Internet and have the System Extension 
  291.     Internet Config installed in your Extensions Folder, then you will 
  292.     have two extra items at the bottom of your Balloon Help menu when 
  293.     3D-Filmstrip is active; namely "Download Latest Version" and 
  294.     "3D-Filmstrip Home Page". Of course, for these to work, you must have
  295.     available an ftp program (such as Fetch or Anarchie) and a Web Browser 
  296.     (such as Netscape Navigator) and you must have chosen one of each as
  297.     your preference using the Helper Dialog of the Internet Config program.
  298.                         ===========
  299. What's new in Version 6.1 of 3D-Filmstrip.      June 1, 1996                       
  300.   
  301. 1)  NEW ABOUT BOX.
  302.     The clunky old About Box has been replaced by one that
  303.     is "way cool".
  304. 2)  SPEED TEST.
  305.     As the program starts up it does a speed test, and 
  306.     gives the result in the Graphics Window title-bar.
  307.     The speed is a rather arbitrary number obtained by
  308.     seeing how fast the cpu can complete a certain mix 
  309.     of operations. It is normalized to come out about 
  310.     one for a Powerbook 180, and a speed of say 5.5
  311.     means that a machine completed these operations
  312.     five and a-half times as fast. The idea is not to 
  313.     establish bragging rights---rather it will be used
  314.     slow down various processes that would otherwise run 
  315.     too rapidly on very fast cpu's.
  316.     
  317.     [ NOTE! The display (but not the speed test was removed
  318.       in version 6.2.]
  319. 3) ADDITIONS TO FILE MENU.
  320.     There are several changes to the File menu. First two trivial
  321.     changes:  Open...  has ben changed to Open Settings... and Save... 
  322.     has been changed to Save Settings... . More important are several
  323.     new items:
  324.       a) PRINTING THE GRAPHICS WINDOW.
  325.          There is a new item, Save Window as PICT file...
  326.          This is in response to a request from many users
  327.          to have an easy method to  print the contents of 
  328.          the Graphics Window. It seemed like overkill to put 
  329.          in all the code that a real print dialog would entail, 
  330.          so I chose something easier for me and I expect better
  331.          for the user. Essentially every Macintosh graphics 
  332.          program (and even Simple Text!)  can open and print
  333.          a PICT file. Moreover, by using a graphics program 
  334.          you can  do some minor editing  before printing (e.g., 
  335.          remove the window controls, add labels, etc.).
  336.        
  337.        b) 3D-FILMSTRIP NOW DOES QUICKTIME!
  338.           There is a new item, Save Animation as Movie...
  339.           Again, this was suggested by many users and has
  340.           many advantages (and one drawback). The drawback 
  341.           is that a QuickTime movie can take a fair amount of 
  342.           disk space. (But not as much as I originally feared, 
  343.           several will fit on a 1.4 MByte floppy, and when I
  344.           learn more about compression I can probably do better.)
  345.           Two of the advantages that I feel are among the most 
  346.           important are:
  347.              1) a movie starts playing almost immediately, whereas 
  348.                 to recreate an animation from the Settings on a  
  349.                 settings file can take many minutes.
  350.              2) a movie can be easily converted (e.g., with  
  351.                 MoviePlayer) to a format transportable to UNIX 
  352.                 machines or Windows  machines (having the 
  353.                 QuickTime_for_Windows application). 
  354.         c) PLAYING BACK A QUICKTIME MOVIE.
  355.            There is also a new item Open Movie... item. This brings up
  356.            a dialog that will permit you to open any QuickTime movie
  357.            with a very basic controller. It is not meant as a substitute
  358.            for MoviePlayer or one of the other many good QT movie editors
  359.            and players, but rather to give the user a quick way to check
  360.            a movie just produced using the previous item. When you open
  361.            a movie there will be a new Movie menu added to the menubar
  362.            control looping, and decide whether to play at a fixed rate 
  363.            or play every frame. (At the moment you must keep pressing 
  364.            the forward button as long as you want the movie to play.)
  365. 4) INITIALIZING MORPHING PARAMETERS.
  366.    The Set Morphing... dialog has a new button, "Init to current parameters"
  367.    that will set all the morphing parameters to the current value of the
  368.    corresponding parameters (i.e., aa0 and aa1 will be set equal to aa, etc.,
  369.    and umin0 and umax0 will be set equal to umin etc.).  Again, this was by
  370.    popular request.
  371. 5) MANY NEW FEATURES IN PLANE CURVE AND SPACE CURVE MENUS.
  372.    I had been working so long improving the Surface category that the
  373.    two curve categories were beginning to look pretty weak and dull by
  374.    comparison. They are now a lot more interesting (and fun).
  375.       a) IMPLICIT PLANE CURVES
  376.          The program now can handle implicit plane curves (I use a 
  377.          very neat algorithm of Harley Flanders). There are several
  378.          classic implicit curves in the menu and there also is a
  379.          User (implicit)... menu item.
  380.       b) SHOW PARALLEL CURVES
  381.          There is a Show Parallel Curves... item in the Plane Curve menu.
  382.          This first draws the normals to the curve from the curve to the
  383.          "focal point" (i.e., to the the center of the osculating circle).
  384.          The normals are then erased, but the evolute remains while
  385.          the parallel curves get drawn in real time animation. The speed
  386.          of the animation can be changed with the right and left arrow
  387.          keys, and the direction can be changed witht the up arrow key.
  388.       c) GENERALIZED CYCLOIDS
  389.          You can now draw "generalized cycloids" by rolling a circle of 
  390.          any radius on any parametric plane curve. The radius of the 
  391.          rolling circle is the parameter gg, and the sign of gg determines 
  392.          which side of the curve the circle rolls on. The parameter ii
  393.          determines which  point along the radius of the rolling circle 
  394.          draws the "cycloid" (if ii = 0 it is the center of the circle,
  395.          if ii = 1 it is the point of contact, if ii = -1 it is the point
  396.          on the rim opposite the contact point, etc.). Finally, if the
  397.          curve is closed and hh is NOT equal to zero, then the value of  
  398.          gg is"rounded" to the nearest value that makes the length of the 
  399.          circle go evenly into the length of curve (so the cycloid repeats
  400.          exactly after one time around). If after drawing one cycloid
  401.          and changing parameters you hold down the shift key as you select
  402.          Draw Generalized Cycloid, previous cycloids will not be erased 
  403.          before the next one is drawn.
  404.                    
  405.         d) SHOW OSCULATING CIRCLES
  406.            After creating a parametric plane curve you can show its
  407.           osculating circles as a real time animation. The osculating 
  408.           circles are drawn in blue, and the centers leaves behind a 
  409.           trace of the evolute as the circle moves along the curve. 
  410.           (If you hold down the Control key as you select Show 
  411.           Osculating Circles, the radii of the osculating circles 
  412.           are first drawn in red and remain on the screen.)
  413.         e) SHOW SPACE CURVE AS TUBE
  414.            The Space Curve menu now has a Show as Tube item. By the way, 
  415.            while I generally prefer to see surface and space curves in 
  416.            stereo, tubes around space curves are an exception, and I find
  417.            turning on color works best. Parametrizing a tube requires the
  418.            construction of a framing of the normal bundle, and there are
  419.            two obvious choices: the Frenet frame and the the parallel frame
  420.            (obtained by choosing an arbitrary initial frame and using
  421.            parallel translation in the normal bundle to propogate it along 
  422.            the curve). There are menu choices to switch between these two
  423.            framings.
  424.            The radius of the tube is given by the parameter ii. The 
  425.            resolution along the length of the tube is just t Resolution
  426.            of course, and the resolution around the tube is u Resolution, 
  427.            but is called "Resolution around the tube" in the Set Resolution & 
  428.            Scale... dialog when Show as Tube is checked. By default the 
  429.            resolution around the tube is set at 4 (giving a square 
  430.            cross-section to the tube) since I feel that displays the 
  431.            framing best, but if you prefer round tubes you can set the
  432.            resolution around the tube as high as 18.
  433.            
  434.            
  435. 6)  SHOW PARALLEL SURFACES.
  436.     The Surface category was not completely neglected. There is now an
  437.     item "Show Parallel Surfaces" in the Surface menu (it works only
  438.     for parametric surfaces for now). It first draws the two focal sets
  439.     of the surface (corresponding respectively to the smaller and larger
  440.     principal curvatures) then erases these and shows a real time animation
  441.     of the parallel surfaces in wireframe. (If you hold down the shift 
  442.     key, you will see the focal surface for as long as it is held down).
  443.     The speed of the animation can be changed with the right and left arrow
  444.     keys, and the direction can be changed with the up arrow key.
  445.     
  446.                         ===========
  447.                        
  448.                        
  449. What's new in Version 6.0 of 3D-Filmstrip.      February 7, 1996
  450.                        
  451.                        
  452.  Major New Features.
  453.    
  454.   1)  I spent ten days in Bonn in December working with Hermann
  455.     Karcher to finish (at least for now) the display of minimal
  456.     surfaces directly from their Weierstrass data. The material
  457.     in this portion of the program is by far the richest and most 
  458.     sophisticated numerically, mathematically, and visually. It
  459.     serves as an ideal that I hope the other mathematical categories 
  460.     in the program will eventually approach. I should stress again 
  461.     that Karcher is almost entirely responsible for the algorithms, 
  462.     and I have served mainly to write these algorithms in Pascal and
  463.     interface them with the graphical display capabilities already
  464.     built in to 3D-Filmstrip. I warmly recommend your browsing in
  465.     this section (the lower part of the Minimal Surface menu). In
  466.     particular, choose Wavy Enneper, switch to Filmstrip animation,
  467.     and do a cyclic morph (in stereo vision of course!).
  468.     
  469.   2)  There is now a native PowerPC version of the program. I believe
  470.     that it is dependable, but I have not been able to test it with
  471.     anywhere near the thoroughness of the versions compiled for the 68K
  472.     Macs. Since I do not own or have access to a PowerMac on which I can 
  473.     load my debugging and quality assurance software, my ability to
  474.     test it myself is limited, so I would greatly appreciate it if
  475.     those of you with PowerMacs would send me reports of any anomalous
  476.     behavior.
  477.        By the way, even on the slowest of PowerPC's (a 60 MHz 601)
  478.     the native version runs about five times as fast as the FPU version 
  479.     runs on the fastest of the 68K Macs (my Quadra 840 AV, which has a 
  480.     40MHz 68040).
  481.       
  482.   Other Changes.
  483.     
  484.   3)   Virtual sphere mode now works a little differently. After 
  485.      clicking on the virtual sphere control, you have three seconds
  486.      to press the mouse button again, to start rotating the object
  487.      (otherwise you leave virtual sphere mode). After you rotate the 
  488.      object and release the mouse button, the object redraws (unless you 
  489.      press option while releasing the mouse) and then stays in virtual 
  490.      sphere mode for three more seconds, allowing you to rotate further. 
  491.      (During the three second delay, touching Command will drop you out 
  492.      of virtualsphere mode instantly).  
  493.      
  494.    
  495.    4)   Now almost any drawing operation that takes more that a few seconds
  496.      to complete can be aborted with Command Period (holding down the mouse 
  497.      button also usually does it too).
  498.       
  499.       
  500.    5)  If you hold down the Control key while a surface is being drawn, the
  501.       normal field to the surface will also be shown.
  502.       
  503.       
  504.    In addition there has been the usual complement of bug fixes and minor
  505. improvements.
  506.                         ===========
  507. What's new in Version 5.3 of 3D-Filmstrip.      October 10, 1995
  508.   While versions 5.1 and 5.2 mainly improved the infrastructure
  509. and user interface of 3D-Filmstrip, this update has concentrated 
  510. on improving the documentation and adding new mathematics. 
  511.    The items "Pascal Code..." and "Texplanation..." in the main menus
  512. have been replaced by two new items, "About this Category...", and 
  513. "About this Object...".  The latter of these is the real replacement
  514. for the former two. It is the place to look for the formulas that 
  515. describe an object, and to see how an object depends on various
  516. parameters. Eventually (and gradually) I will add further comments 
  517. of a descriptive nature to these items. As of now, the latter has been
  518. carried out only for the minimal surfaces given by their Weierstrass 
  519. data, and I have Hermann Karcher to thank for writing the text for 
  520. these items. For the most part, "About this Category..." is the just 
  521. the descriptive material about a particular category that used to be 
  522. under the Help menu. 
  523.   But the really exciting new addition is mathematical. 3D-Filmstrip 
  524. now is able to create a minimal surface directly from its Weierstrass 
  525. representation. This is the result of several weeks of concentrated 
  526. joint effort by Hermann Karcher and myself. The algorithms and the 
  527. remarkably fast and efficient numerical methods are almost entirely 
  528. due to Karcher, and my contribution to the collaboration was mainly to 
  529. interface Karcher's algorithms with the graphical display algorithms 
  530. that are built into 3D-Filmstrip.  Using this technique, it is now 
  531. possible to show the many new and beautiful examples of minimal surfaces 
  532. that have been discovered in  recent years by Chen-Gackstatter, Costa, 
  533. Hoffmann, Karcher, Meeks, Rosenberg, Wei, et. al. However, for most 
  534. of these surfaces, the complete presentation is a multi-step process. 
  535. They have a number of discrete symmetries, and after a fundamental 
  536. domain has  been created by integrating the Weierstrass data, the rest 
  537. of the surface must be created by reflecting and rotating this piece. 
  538. So far we have carried this out for the Riemann, Chen-GackStatter, 
  539. and Costa surfaces (in wireframe). Eventually, in a later version, 
  540. it will also be carried out for the remaining pre-programmed 
  541. Weierstrass-type minimal surfaces, and it will also be possible 
  542. to view the whole surfaces in patch-mode as well as in wireframe.
  543.    If you want to see a very pretty animation, go into stereo mode,
  544. choose Wavy Enneper from the Minimal Surface submenu of the Surface
  545. Menu, choose Filmstrip animation from the Animation type menu, and 
  546. then choose Cyclic Morph from the Animation menu (it will take a few
  547. minutes).
  548.                         ===========
  549. What's new in Version 5.2 of 3D-Filmstrip.      July 3, 1995
  550.   There have been a number of small bug-fixes. In particular, for 
  551. 3-dimensional ODE, direction fields were not scaling properly, and
  552. the Show as Graph item in the Soliton main menu was not working 
  553. correctly for solutions of the Sine-Gordon equation. (I still have
  554. not got it right for the Breather solution).
  555.   There is now a Set Monitor submenu of the Settings menu. It looks
  556. (and works) just like the Monitors Control Panel, but please use this
  557. instead, so the program will know immediately about any change you 
  558. make and take appropriate steps to optimize colors. If you should use 
  559. the Monitors Control Panel, the program will eventually figure it out.
  560. By the way, I've added a new palette, and stereo now works pretty well at the sixteen colors setting, so if memory is low and you want stereo but no colors, try shifting to sixteen colors. Any change made using 
  561. the Set Monitors menu will be reversed when you quit 3D-Filmstrip.
  562.   First order ODE in one variable now show direction fields by default.
  563.   You will notice that now there is a one or two digit number just above
  564. the size control box on the lower right of the Graphics Window. This is 
  565. the maximum number of frames you can have in a Filmstrip with the current window size and monitor setting. If you want more frames, make the window smaller---BUT see the next item. (By the way, if you are using virtual memory, or RAMDoubler, there is no way the program can tell, so if you try using the maximum number of frames, the playback 
  566. of the Filmstrip  will slow to a molasses-like pace as some frames 
  567. are cached to disk.)
  568.   There is now a choice of two kinds of animation, the old "filmstrip"
  569. type, and a new "real-time". You choose between them using the
  570. "Animation Type" submenu of the Animate menu. For real-time animation,
  571. which is now the default, each "frame" is created on the fly, as needed. 
  572. By a little hard work and a few tricks I was able to finally get this 
  573. working fast enough to be quite acceptable on most recent machines, 
  574. except that for Surfaces in "patch" mode it is still too slow, so the 
  575. program shifts temporarily to wire-frame during real-time animation 
  576. of surfaces. I expect to have a version of 3D-Filmstrip running native 
  577. on PowerPC Macs within six months, and I am hoping that the speedup 
  578. will be enough that (perhaps with a little more hard work) even patch 
  579. surfaces will draw fast enough to work in real-time, and this change 
  580. is to prepare for that. By the way, the advantage to real-time animation 
  581. over filmstrip animation is that a filmstrip with more than a few frames 
  582. requires gobs of RAM. (Also, you don't have to wait while the program 
  583. makes up the filmstrip.)
  584.   For ODE in one-variable and first order ODE in two variables, I 
  585. have implemented the display of direction fields for time-dependent equations. All of the pre-programmed equations are autonomous, so if 
  586. you want to see this in action choose User Defined..., and either use the default or enter your own time-dependent equation. I have not seen this in other ODE programs, and I would appreciate it if anyone who has would let me know.
  587.   The Lattice Model category now has a User Defined item, so you can 
  588. experiment with your very own lattice models.
  589.    I've found another nice use for the Virtual Sphere algorithm. If you
  590. depress the Shift Lock key before clicking on the Virtual Sphere control
  591. button (in the lower right of the screen) the program will enter a
  592. different version of Virtual Sphere mode. In this version, the rotation
  593. axis will be visible, and when you rotate the virtual sphere with the mouse, the 3D object will stay fixed, but the rotation axis will rotate
  594. with the sphere. If you release the mouse button, the object will start 
  595. rotating about the new axis, and continues rotating until you again depress  the mouse button and start rotating the axis. You can keep alternating these two phases as long as you like, and then release the shift lock to leave virtual sphere mode. (At this point the object will be redrawn in  its final rotated position, and the rotation axis is fixed at its final position.) Needless to say, while this does not require being in stereo mode, it isn't too useful without it.
  596.   In the six ODE categories, an ODE control panel now opens by default
  597. just below the Graphics Window. This has buttons to do more easily 
  598. things you could  do with the menus (Create, Erase, Continue, double or
  599. half the scale, and bring up the dialog to set initial conditions, 
  600. step-size, time-span, and dottedness. In addition there are buttons for
  601. single-stepping the ODE forward or backward, and there is a read-out of 
  602. the current time, position, and velocity.
  603.                         ===========
  604. What's new in Version 5.1 of 3D-Filmstrip.      May 23, 1995
  605.    This is again a substantial update to the program with two major 
  606. new features. One is very visible and the other, while more hidden,
  607. make the program a lot easier to use.
  608. 1)   The Virtual Sphere algorithm has been implemented.
  609.     For the Surface, Space Curves, and Polyhedra categories, after an
  610.     object is selected, a button will appear at the lower left corner 
  611.     of the graphics window.  If you click on this button then a circle
  612.     appears on the screen surrounding the object. The object has now 
  613.     become temporarily  embedded in a transparent hard plastic sphere 
  614.     (called the virtual sphere) that is centered at the screen center. 
  615.     The  circle you see is the diameter given by intersecting the screen
  616.     and the virtual sphere. Place the cursor anywhere on the top surface 
  617.     of the virtual sphere and drag the sphere to rotate it, carrying 
  618.     the object along with it. (For speed, a surface will be shown in
  619.     wire-frame style as you drag it). When you release the mouse, the 
  620.     object will now be drawn in its final position. If you hold down the 
  621.     Control key while in virtual sphere mode, then you will see a little 
  622.     piece of the tangent
  623.     plane at the point where the virtual sphere is being grabbed---this can
  624.     help during the time you are learning to use the technique. If you hold 
  625.     down both option and command as you release the mouse button while in 
  626.     virtual sphere mode you will stay in virtual sphere mode and the object 
  627.     will not be redrawn---this allows you to move the mouse to a different 
  628.     point to make it easier to turn the sphere as you wish.
  629. 2) The ugly opening dialog for choosing the size of the graphics window and
  630.    the maximum number of frames in a filmstrip is now a thing of the past. 
  631.    The graphics window is created with a certain aspect ratio, and as large
  632.    as memory will allow (up to a certain maximum). Moreover it is now 
  633.    resizeable at any time, and any object drawn in it will be rescaled to 
  634.    the new window size. Frames for a filmstrip are created (and destroyed) 
  635.    automatically on as as needed basis. These two changes are a reflection 
  636.    of a major rewriting of the memory management infrastructure of the 
  637.    program. While earlier versions of the program set up all necessary data 
  638.    structures when the program was launched and kept them around until 
  639.    quitting time, in this version larger structures are created when needed 
  640.    and destroyed when the current need for them has passed. This has led to 
  641.    a drastic reduction in the size of the memory partition required to run
  642.    the program. While earlier versions needed at least a three megabyte
  643.    partition, version 5.1 can run in as little as 1200 Kilobytes. (The
  644.    preferred size should be set at 2500 K, or higher if you have a big
  645.    monitor and like to have large windows.)
  646.   Also, in the ODE categories, the division of the graphics screen into
  647.   two panes (the top showing orbits and the bottom orbit projections on
  648.   the axes) is now under user control. The division of the graphics 
  649.   window into these two panes is adjusted as follows. There is a 
  650.   rectangular button at the right edge of the screen where the two 
  651.   panes meet. If you press on this button, the button itself will
  652.   disappear and be replaced  by a horizontal line. Drag the horizontal
  653.   line to where you would like the new boundary between panes and
  654.   release the mouse. (At least twenty percent of the total screen 
  655.   height must be devoted to each pane.)
  656.                         =============
  657. What's new in Version 5.0 of 3D-Filmstrip.      March 15, 1995
  658.    This is a fairly substantial update. The previous publicly available
  659. version (4.6) was made available last October, and in the six months 
  660. since then I have been working hard to improve the program. (It now runs 
  661. to over 35,000 lines of Pascal source code.) 
  662.   There has been the usual quota of bug fixes---hopefully not balanced 
  663. by newly introduced glitches---but in addition two major new features 
  664. (and many minor ones) have been added.
  665.    Perhaps the most notable of these is the option to display surfaces
  666. and polyhedra in color, using a combination of colored light sources and
  667. (in the case of surfaces) surface coloration. The latter is controlled 
  668. by a submenu menu near the bottom of the Surface menu. This has several
  669. items, including a "User Defined..." option that brings up a dialog
  670. permitting the user to separately specify the hue, saturation, and 
  671. brightness of each point on the surface as functions of the two surface
  672. parameters u, and v. 
  673.   There are five "light sources", called Source0, Source1, Source2, 
  674. Source3, and Ambient Source. All five can have their colors set by 
  675. the user. The light rays of Source0 always travel in the viewing 
  676. direction (i.e., in the direction from Viewpoint towards ScreenCenter), 
  677. the light rays from AmbientSource are "omni-directional", while the 
  678. directions of the light rays of Source1, Source2, and Source3 can 
  679. be set by the user. For each directional source, its light rays are 
  680. all parallel to a fixed direction---as if the source were "at infinity".
  681. There is a Set Light Sources submenu of the Settings menu to control
  682. the nature of the light sources. This has several preset combinations
  683. as well as a Custom... item that brings up a dialog for setting the
  684. parameters for all of the sources by hand. See the Color item in the 
  685. Help Menu, or the section on color in the documentation file, for more 
  686. details, and in particular a discussion of how the surface color and the
  687. color and direction of the light sources determine the observed color of
  688. each surface patch. I have now switched to Phong shading of surfaces. 
  689. This means that in addition to diffusely scattered light reflecting off 
  690. the surface, there is now also a specular (i.e., mirror-like) component
  691. that adds highlights and gives a more realistic appearance to surfaces.
  692. See the section on Phong shading in the TeX documentation to see how
  693. the two parameters, Specular Exponent and Specular Ratio, determine the
  694. characteristics of the specular component of reflected light. These two
  695. parameters can be changed from their default values using the Custom...
  696. dialog of the Set Light Sources submenu.
  697.    A second major addition is a much richer implementation of ODE's.
  698. Whereas earlier versions only had first order ODE's in two and three
  699. variables, now there are six separate categories for first and second
  700. order systems ODE's in one, two, or three dimensions. Also, the option
  701. has been added to see the direction field associated with a first order
  702. ODE, and to see the projections of orbits of an ODE on the coordinate
  703. axes.In addition to the special Central Force ODE category, I have
  704. now added a second special ODE category called Lattice Models. This
  705. shows the solutions of the equations of motion for a one dimensional
  706. lattice of anharmonic oscillators with nearest neighbor interactions.
  707. See the TeX documentation for more details. (This category is still
  708. experimental and under development, so I would particularly appreciate
  709. comments and suggestions concerning it.)
  710.    There are four new submenu items in the View menu: "Background", 
  711. "Visible Gridlines?", "Project ODE Orbits?", and "Show Direction Fields?".
  712. Each brings up a two-item submenu: White/Black in the first case and 
  713. Yes/No in the others. 
  714.   Except for the Conformal Map  category, the default background is white 
  715. and objects are drawn in black (or color).  Choosing White from the
  716. Background menu will change the background to black, and objects will be 
  717. drawn in white (or color). This new background will remain chosen until 
  718. it is either explicitly changed back, or a new category is chosen using 
  719. the Settings menu Set Category...item. 
  720.    The Visible Gridlines? submenu refers only to the Surface category. 
  721. Choosing No from the Visible Gridlines? submenu will turn off the 
  722. display of the u,v coordinate curves when a surface is redrawn (except, 
  723. of course, in wire-frame display mode!). While this option is available 
  724. in monochrome, it is rarely advisable in that situation, and should be 
  725. reserved for (occassional) use when displaying a surface in color. It
  726. is also useful in stereo when the specular component of reflected light
  727. has been emphasized.  (For example, with Specular Exponent set to 60 
  728. Specular Ratio equal 0.6, and no gridlines, a surface has the appearance
  729. of polished ivory---for best results, set the u and v resolutions high.)
  730.    The "Project ODE Orbits?", and "Show Direction Fields?" submenus 
  731. refer only to the ODE category. In any of the ODE categories (except
  732. for a first order equation in one variable) the main display shows
  733. the evolution of an orbit in the phase space. By default, the program
  734. also shows projections of the orbit on the various coordinate axes
  735. (using different colors to distinguish the projections). This display
  736. occurs in a second pane of the graphics window that opens automatically
  737. below the main pane. This pane can be hidden with the Project ODE Orbits?
  738. submenu. For a first order ODE category in two variables and a second
  739. order ODE in one variable  the program by default displays the direction 
  740. field of the vector field defining the ODE. (If the vector field is time
  741. dependent, then it is shown at time zero). The display of the direction
  742. field can be turned off with the Show Direction Fields? submenu.
  743.    There is another new feature of the View menu: choosing an item 
  744. will by default trigger an immediate redraw of a selected object. 
  745. By contrast, changing some settings by calling up a dialog using the 
  746. Settings menu does not cause a redraw until Create is chosen from the 
  747. Main menu. While these seem to be the default behaviors preferred by 
  748. the majority of users, some users prefer a delayed redraw with the 
  749. View menu too---it is a little annoying to have to sit through long 
  750. redraws if one is making several successive changes with the View menu. 
  751. So I have implemented an option to inhibit an immediate redraw by holding 
  752. down the option key while making a choice from the View menu. In fact, 
  753. this function of the option key has been generalized to also prevent 
  754. the immeditate drawing of an object in other circumstances when it 
  755. would otherwise occur. For example, when choosing a new item from the 
  756. Main menu, hold down the option key if you would like to make several 
  757. adjustments using the View and Settings menus before the new object 
  758. gets drawn.
  759.   The way that the speed of playback of a filmstrip is adjusted has
  760. been completely changed. The program controls the playback speed by
  761. adding a certain number of "ticks" (i.e., sixtieths of a second) 
  762. between successive frames. This number can vary between zero, its 
  763. initial value when the program starts up, to thirty. Note that with
  764. thirty ticks between frames, even a machine capable of instantaneously
  765. drawing each frame would only display two frames per second. In 
  766. prior versions, to slow down or speed up the playback (i.e., to add 
  767. or subtract ticks) it was necessary to stop the playback and then
  768. choose Slower Playback or Faster Playback from the Animation menu.
  769. These menu items have been removed, and now to change the playback
  770. speed while a filmstrip is being played back, press the right-arrow 
  771. key ( ---> ) to add ticks, or the left arrow key ( <--- ) to subtract
  772. ticks. One tick is added or subtracted if the delay between frames 
  773. is less than ten ticks, and five if greater.)  During playback, a 
  774. "status line" is added to the bottom of the graphics window giving 
  775. the current number of ticks added between frames. By the way, once 
  776. this number is set it will remain fixed until quitting time unless 
  777. it is reset by the user.
  778.    When a filmstrip is played back and then stopped with a Command
  779. Period, Command P will restart it at the same frame (rather than 
  780. at the beginning as before).
  781.    If Morph is chosen from the Animation menu when Conformal Map is 
  782. the current category, then a filmstrip will be created showing a
  783. deformation of the selected map from the identity map.
  784.   Two new item, Show Axes Only and Show Object, have been added to 
  785. the Aspect menu. While trying to find an optimal aspect, it is often 
  786. necessary to do some experimentation, and having to wait for a complex 
  787. object to be drawn slows things down. If Show Axes Only is selected 
  788. then a mode is entered where only the axes are drawn after each aspect 
  789. change. Choosing Show Object draws the object and exits this mode. A
  790. check mark indicates which mode is currently active.
  791.     It is now possible to change the range of the surface variables
  792. u,v (as well as the values of the various parameters) during the
  793. creation of a Morphing filmstrip. This is done by setting the eight
  794. variables uMin0, uMin1, uMax0, uMax1, vMin0, vMin1, vMax0, vMax1 
  795. in the Set Morphing... dialog. Used judiciously, this can be very
  796. useful in determining the structure of a complicated immersed
  797. surface. The idea is to keep the parameters fixed and change only
  798. the range of one of the variables, from a small strip initially to
  799. the whole domain of interest at the end. This will create a movie
  800. of the object gradually being created. (Like so many other clever
  801. features, including the previous and following ones, this was 
  802. suggested by Hermann Karcher.)
  803.    There is a new parameter, Rotation Divisor, that can be set in the
  804. Set Number of Frames... dialog. If this is set to an integer n, then 
  805. a rotation filmstrip with N frames will only rotate 360/Nn degrees 
  806. between frames (rather than 360/N), so it will only rotate a total of 
  807. 360/n degrees (instead of 360 degrees). Of course this will produce a 
  808. sudden jump at the end of each time thru the filmstrip UNLESS the object 
  809. being displayed is invariant under a 360/n degree rotation about the 
  810. rotation axis. But if this is the case, then a smooth rotation can be 
  811. created using many fewer frames.
  812.   Two menus have moved. The Set Categories... submenu of the Settings
  813. menu is gone and has been replaced by a Category menu in the menu bar.
  814. (One person told me that they had used 3D-Filmstrip for a whole week
  815. before discovering that it could display anything except surfaces!)
  816. Since the menu bar was getting overloaded, I have succumbed to Apple's
  817. strictures against an application having its own separate Help menu, 
  818. and, following their recommendation, I have put the items from the old
  819. Help menu at the bottom of the Balloon Help menu, at the extreme right
  820. of the menu bar.
  821.   There is a recent addition to the Surface category---or rather to the
  822. K=-1 subcategory. The K=-1 menu is now divided in two parts by a 
  823. separator. The upper part creates surfaces of Gaussian curvature minus
  824. one from parametric representations as before, but the lower part
  825. starts with a solution of the Sine-Gordon equation, and then integrates
  826. the Gauss-Mainardi equations to find the immersed pseudo-spherical
  827. surface. If you set stereo viewing on in the View menu, you will first
  828. see the curve v=vmin created by integration, and then the curves u=const
  829. starting from each of the lattice points in the v=vmin curve.
  830.  
  831.